#ifndef WINDOWDAO_H
#define WINDOWDAO_H

#include"../poco/windowInfo.h"
#include"../poco/user.h"
#include"../poco/organizationInfo.h"
#include<vector>
using std::vector;
#include<QSqlQuery>


//窗口 数据访问操作

class WindowDao
{
public:
    WindowDao();

    /*
     * 窗口添加
     * */
    bool insertWindow(WindowInfo& win);

    /*
     *窗口修改
     * */
    bool  alterWindow(WindowInfo win);

    /*
     * 窗口删除
     * */
    bool delWindow(WindowInfo win);

    //根据窗口id查询整个窗口信息
    bool selectWindow(WindowInfo& win);

    /*
     * 查询某个用户名下所有窗口信息，只需要有用户电话号码即可，逻辑上应该判断是否成功登录
     * */
    vector<WindowInfo> selectUserWindow(User user);

    //查询用户申请的所有未通过的窗口
    vector<WindowInfo> selectUserApplyWindow(User user);

    /*
     * 查询某个组织下的所有窗口信息，只需要有组织id即可
     * */
    vector<WindowInfo> selectOrgWindow(OrganizationInfo org);

    /*
     * 查询空闲窗口（user用户可以申请加入的窗口
     * */
    vector<WindowInfo> selectSpareWindow(User user);

protected:
    QSqlQuery result;

};

#endif // WINDOWDAO_H
